/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controlador;

import Util.UtilFecha;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 *
 * @author JAVA
 */
public class AltaModifUsuario extends HttpServlet {

    /** 
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        String nombre, apellidos, alias,perfil, email, poblacion, provincia, sexo,descripcion, password, fechaNacimiento;
        boolean nuevo=false;
        try {
                  
        String nick=request.getParameter("nick");
            if(nick.compareTo("")==0){
                out.println("<jsp:useBean id=\"miUsuario\" class=\"controlador.Usuario\" scope=\"application\"/>");
                nuevo=true;
                nombre="";
                apellidos="";
                alias="";
                email="";
                poblacion="";
                provincia="";
                descripcion="";
                password="";
                fechaNacimiento="";
                sexo="";
                perfil="";
            }
            else{
                
                Usuario usu = Usuario.devuelveUsuario((String)request.getAttribute("nick"));
                nombre=usu.getNombre();
                apellidos=usu.getApellidos();
                alias=usu.getUsuario();
                email=usu.getEmail();
                poblacion=usu.getPoblacion();
                provincia=usu.getProvincia();
                descripcion=usu.getDescripcion();
                password=usu.getContrasenya();
                sexo = usu.getSexo();
                fechaNacimiento = UtilFecha.fechaMostrar(usu.getFechaNacimiento());
                perfil = usu.getPerfil();
            }
      out.write("\n");
      out.write("\n");
      out.write("<!DOCTYPE html>\n");
      out.write("<html>\n");
      out.write("    <head>\n");
      out.write("        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\">\n");
      out.write("        <title>JSP Page</title>\n");
      out.write("    </head>\n");
      out.write("    <body>\n");
      out.write("  \n");
      out.write("         <form method=\"post\" action=\"alta\" id=\"<alta_form\">\n");
      out.write("             Nombre: <input type=\"text\" name=\"nom\" id=\"login_nom\" value=\""+nombre+"\"/>\n");
      out.write("             Apellidos:<input type=\"text\" name=\"apel\" id=\"login_apel\" value=\""+apellidos+"\"/>\n");
      out.write("             Alias:<input type=\"text\" name=\"alias\" id=\"login_alias\" value=\""+alias+"\"/>\n");
      out.write("             Email:<input type=\"text\" name=\"email\" id=\"login_email\" value=\""+email+"\"/>\n");
      out.write("             Población<input type=\"text\" name=\"pob\" id=\"login_poblacion\" value=\""+poblacion+"\"/>\n");
      out.write("             Provincia<input type=\"text\" name=\"prov\" id=\"login_provincia\" value=\""+provincia+"\"/>\n");
      out.write("             Descripción:<input type=\"text\" name=\"desc\" id=\"login_descripcion\" value=\""+descripcion+"\"/>\n");
      out.write("             Contraseña:<input type=\"password\" id=\"login_password\" name=\"pass\" value=\""+password+"\"/>\n");
      out.write("             Fecha Nacimiento(dd/MM/yyyy): <input type=\"text\" name=\"fechaNac\" id=\"login_fecha\" value=\""+fechaNacimiento+"\"/>\n");
      out.write("             <br>Elige Perfil:<br>\n");
                              if(perfil.compareToIgnoreCase("Publico")==0)
                                  out.write("             Privado<input type=\"radio\" name=\"perfiles\" value=\"Privado\" checked=\"checked\">\n");
                              else
                                  out.write("             Público<input type=\"radio\" name=\"perfiles\" value=\"Publico\" checked=\"checked\">\n");
      out.write("             <br>\n");
      out.write("              <br>Elige Sexo:<br>\n");
                              if(sexo.compareToIgnoreCase("Hombre")==0)
                                  out.write("                 Hombre<input type=\"radio\" name=\"sexos\" value=\"Hombre\" checked=\"checked\">\n");
                              else
                                 out.write("                 Mujer<input type=\"radio\" name=\"sexos\" value=\"Mujer\" checked=\"checked\">\n");   

      out.write("             <br>\n");
      out.write("             <input type='submit' value='EnviarDatos'>\n");
      out.write("             <input type='reset' value='BorrarDatos'>\n");
      out.write("         </form>\n");
      out.write("        ");
      out.write("\n");
      out.write("\t<jsp.setGetproperty name=”miUsuario” property=”nombre” param=”nom”/>\n");
      out.write("        <jsp.setGetproperty name=”miUsuario” property=”apellidos” param=”apel”/>\n");
      out.write("        <jsp.setGetproperty name=”miUsuario” property=”email” param=”email”/>\n");
      out.write("        <jsp.setGetproperty name=”miUsuario” property=”poblacion” param=”pob”/>\n");
      out.write("        <jsp.setGetproperty name=”miUsuario” property=”provincia” param=”prov”/>\n");
      out.write("        <jsp.setGetproperty name=”miUsuario” property=”usuario” param=”usu”/>\n");
      out.write("        <jsp.setGetproperty name=”miUsuario” property=”descripcion” param=”desc”/>\n");
      out.write("        <jsp.setGetproperty name=”miUsuario” property=”contrasenya” param=”pass”/>\n");
      out.write("        <jsp.setGetproperty name=”miUsuario” property=”perfil” param=”perfiles”/>\n");
      out.write("        <jsp.setGetproperty name=”miUsuario” property=”sexo” param=”sexos”/>\n");
      out.write("        <jsp.setGetproperty name=”miUsuario” property=”formatoFechaNacimiento” param=”fechaNac”/>\n");
      if(nuevo=true)
          out.println("<jsp:setProperty name=\"miUsuario\" property=\"alta\"/>");
      else
          out.println("<jsp:setProperty name=\"miUsuario\" property=\"actualiza\"/>");
          
      out.write("\n");
      out.write("    </body>\n");
      out.write("</html>\n");
        } finally {            
            out.close();
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /** 
     * Handles the HTTP <code>GET</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Handles the HTTP <code>POST</code> method.
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /** 
     * Returns a short description of the servlet.
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}
